Labo 2 - xinetd, telnet et ftp
Retour à la page du cours
Pour ce deuxième laboratoire, un peu de travaux pratiques.
(Une fois que c'est fait, voyez la marche à suivre!)
En équipe de deux, vous allez installer xinetd, in.telnetd et vsftpd
sur vos deux serveurs. Vous allez ensuite les configurer correctement afin de pouvoir vous connecter l'un sur l'autre.
Je vous donne intentionnellement peu d'instructions et de guides, puisque ce n'est pas très compliqué et que vous l'avez sans doute déjà fait à la session 3. Ça vous dérouillera un peu et c'est toujours bon de fouiller.
Pour installer in.telnetd, il suffit de faire
yum install telnet-server
Pour installer un client telnet en mode console, faites:
yum install telnet
Pour installer vsftpd, vous devez faire
yum groupinstall "FTP Server"
Pour installer un client ftp en mode console, faites:
yum install ftp
Une fois que c'est fait, nous éteindrons le pare-feu (en attendant d'apprendre à le reconfigurer intelligemment):
service iptables stop
Finalement, nous modifierons une valeur booléenne de SELinux (Security-Enhanced Linux - un module puissant de sécurité que l'on verra plus tard si le temps nous le permet) avec la commande setsebool. Cette commande modifie simplement une permission booléenne à 1 (pour "true"). La switch -P rend le tout permanent en modifiant les fichiers appropriés.
/usr/sbin/setsebool -P ftp_home_dir 1
Ceci permettra à un usager connecté sur votre serveur FTP de se déplacer dans son répertoire maison (et donc de pouvoir faire quoi que ce soit). Si vous négligez ceci, votre serveur acceptera les connexions mais empêchera les usagers d'atteindre le premier répertoire, ce qui les déconnectera aussitôt avec un code d'erreur 500.
Mes exigences
Vous devez vous organiser pour que:
- Votre vsftpd soit géré par xinetd. Il ne doit pas être en mode écoute "standalone" (utilisable par lui-même). C'est xinetd qui écoutera sur son port et non pas vsftpd. Pour ce faire, sachez que vsftpd possède un fichier de configuration dans /etc/vsftpd. Il faut lui dire de ne plus écouter (en mode standalone) afin que ce soit xinetd qui le fasse pour lui. Une fois que c'est fait, il faut créer un fichier ftp dans /etc/xinetd.d. Vous pouvez copier le fichier de telnet comme point de départ, mais n'oubliez pas de changer le nom du service et celui du serveur (qui est simplement /usr/sbin/vsftpd).
- Vous pouvez vérifier que vsftp est bel et bien éteint en faisant service vsftpd status
- N'oubliez pas qu'après tout changement à la configuration de xinetd, il faut redémarrer le service xinetd!
- Vous pouvez tester votre serveur ftp en faisant simplement ftp 127.0.0.1 (ou autre alias valide selon /etc/hosts!). La commande exit permet de quitter le serveur.
- Telnet est par défaut déjà géré par xinetd. Un petit tour dans /etc/xinetd.d/telnet pour s'assurer que tout est en règle est toujours une bonne idée.
Une fois que les deux serveurs sont installés, gérés par xinetd et fonctionnels, on va faire quelques changements. L'ordre suivant est suggéré.
- Votre serveur ftp devra être associé au port 2121 plutôt que 21 comme c'est le cas par défaut. Rappelez-vous quel fichier contient la liste des ports associés aux services et n'oubliez pas qu'il y a peut-être déjà quelque chose à 2121 (mieux vaut l'enlever). Et comme c'est un changement à la config de xinetd, que devra-t-on faire?
- Pour tester le tout, vous pouvez faire ftp 127.0.0.1 2121 (le port est le deuxième paramètre, il n'ya pas de ":")
- Votre serveur telnet devra être associé au port 2323 plutôt que 23 comme c'est le cas par défaut.
- Seuls les gens de la classe puissent faire un ftp chez vous.
- Seul votre partenaire puisse faire un telnet chez vous.
- Personne ne puisse rien faire d'autre chez vous, à part la machine locale (comme ça vous pourrez tester vos trucs sur vous-même sans être embêté).
- Dans tous ces cas, n'oubliez pas que vous modifiez des fichiers utilisés par xinetd!
- xinetd écrit des messages dans le log principal du serveur (/var/log/messages) alors si vous avez des problèmes, vous pouvez aller voir là pour tenter de comprendre ce qui se passe..
- Trouvez une façon d'accepter des connexions FTP uniquement entre 9h00 et 17h00. C'est une des possibilités de xinetd, je vous laisse fouiller. Testez avec d'autres heures pour vous assurez que ça fonctionne bien.
Ne vous gênez pas pour lire les pages man appropriées et pour fouiller dans les fichiers de configuration.
Retour à la page du cours